﻿using System;
using System.Drawing;
using accesoDatos;
using clasesBase;
using Logica;

namespace PlanificacionProduccion
{
    public partial class FrmEstadoPlanifDet : FrmABM
    {
        public FrmEstadoPlanifDet()
        {
            InitializeComponent();
        }

        private void form_Load(object sender, System.EventArgs e)
        {
            if (base.idElemento != 0) mostrarDatos();
            
            txtNombre.Focus();
        }

        private void mostrarDatos()
        {
            EstadoPlanificacion elem = new EstadoPlanificacion(base.idElemento);

            txtId.Text = elem.ID.ToString();
            txtNombre.Text = elem.Nombre.Trim();
        }

        private void btnGuardar_Click(object sender, System.EventArgs e)
        {
            quitarResaltado();
            if (camposCompletos())
            {
                if (Notificador.accionGuardarConfirmada())
                {
                    // Si se tratase de un elemento nuevo, el id correspondiente es 0.
                    int idElemento = txtId.Text.Trim() == "" ? 0 : Convert.ToInt32(txtId.Text);
                    string nombre = txtNombre.Text.Trim();

                    EstadoPlanificacion elem = new EstadoPlanificacion(idElemento);
                    elem.Nombre = nombre;

                    // Guardo la información
                    string error = elem.guardar();
                    Notificador.resultadoABM(idElemento == 0 ? TipoOperacionABM.ALTA : TipoOperacionABM.MODIFICACION, error);
                    if (error.Trim() == "") this.Close();
                }
            }
            else Notificador.camposNoCompletos();
        }

        private bool camposCompletos()
        {
            bool completos = true;

            if (txtNombre.Text.Trim() == "") { completos = false; lblNombre.ForeColor = Color.Red; }

            return completos;
        }

        private void quitarResaltado()
        {
            lblNombre.ForeColor = Color.Black;
        }
    }
}
